#include "./frame.h"


namespace conn {

bool is_frame_valid(const uint8_t *buf, usize_t len) {
    if (len < 8) {
        return false;
    }
    if (buf[0] != proto::HEAD0) {
        return false;
    }
    if (buf[1] != proto::HEAD1) {
        return false;
    }
    if (buf[2] < 8) {
        return false;
    }
    uint8_t s = alg::xor_sum(buf + 3, len - 5);
    if (s != buf[len - 2]) {
        return false;
    }
    if (buf[len - 1] != proto::END) {
        return false;
    }
    return true;
}


}
